<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        div {
            width: 100px;
            height: 100px;
            background-color: skyblue;

            position: absolute;
            left: 0;
            top: 0;
        }

        p {
            width: 100px;
            height: 100px;
            background-color: orange;

            position: absolute;
            left: 0;
            top: 130px;
        }
    </style>
</head>

<body>

    <div></div>

    <p></p>

    <script>
        // 对运动过程的封装    -> 运动函数  
        // 需求 : 点击div 让它动起来  

        // 获取元素 
        // 点击事件 
        // 修改样式  

        // let divele = document.querySelector('div');
        // divele.onclick = function () {
        //     // 运动距离从0到500px
        //     // divele.style.left = '500px';
        //     var init = 0; //初始值 
        //     // 让它一点点的动    每次走5px  500px结束 
        //     // 间歇定时器 模拟运动的过程 
        //     var num = setInterval(function () {
        //         init += 5
        //         divele.style.left = init + 'px';
        //         if (init >= 500) {
        //             clearInterval(num);
        //         }
        //     }, 30);

        // }


        // let pele = document.querySelector('p');
        // pele.onclick = function(){
        //     // 运动距离从0到500px
        //     // divele.style.left = '500px';
        //     var init = 0; //初始值 
        //     // 让它一点点的动    每次走5px  500px结束 
        //     // 间歇定时器 模拟运动的过程 
        //     var num = setInterval(function(){
        //         init += 5
        //         pele.style.left = init + 'px';
        //         if(init>=500){
        //             clearInterval(num);
        //         }
        //     },30);

        // }


        // 任何元素 都有运动的效果 
        // 把运动过程封装成函数  

        // 封装函数  

        // 让谁动      元素 
        // 运动方式     修改的样式 
        // 运动目标     什么时候运动停止 

        function sport(ele, mystyle, target) {
            var init = 0; 
            var num = setInterval(function () {
                init += 5
                ele.style[mystyle] = init + 'px';
                if (init >= target) {
                    clearInterval(num);
                }
            }, 30);
        }

        var divele  = document.querySelector('div');
        divele.onclick = function(){
            sport(this,'left',500);
        }

        var pele  = document.querySelector('p');
        pele.onclick = function(){
            sport(this,'left',500);
        }


        // 元素.style['样式名'] = 值   // font-size


    </script>


</body>

</html>